package com.company.cloud.art.modules.api.fallback;

import com.company.cloud.art.modules.api.request.*;
import com.company.cloud.art.modules.api.response.ActSignUp;
import com.company.cloud.art.modules.api.response.ActSignUpQueryResp;
import com.company.cloud.art.modules.api.response.ArtAct;
import com.company.cloud.art.modules.api.response.ArtActQueryResp;
import com.company.cloud.art.modules.api.service.ArtActRemoteService;
import com.company.cloud.common.bean.BaseClientResult;
import feign.hystrix.FallbackFactory;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Component;

@Log4j2
@Component
public class ArtActRemoteServiceFallbackFactory implements FallbackFactory<ArtActRemoteService> {
    @Override
    public ArtActRemoteService create(Throwable cause) {

        return new ArtActRemoteService() {

            @Override
            public BaseClientResult<ActSignUpQueryResp> actSignUpQuery(ActSignUpQueryReq request) {
                return BaseClientResult.callbackError();
            }

            @Override
            public BaseClientResult<ActSignUp> actSignUpInfo(Integer id) {
                return BaseClientResult.callbackError();
            }

            @Override
            public BaseClientResult<String> actSignUpAdd(ActSignUpAddReq request) {
                return BaseClientResult.callbackError();
            }

            @Override
            public BaseClientResult<ArtActQueryResp> actQuery(ArtActQueryReq request) {
                return BaseClientResult.callbackError();
            }

            @Override
            public BaseClientResult<ArtAct> actInfo(String activityNo) {
                return BaseClientResult.callbackError();
            }

            @Override
            public BaseClientResult<String> actAdd(ArtActSaveReq request) {
                return BaseClientResult.callbackError();
            }

            @Override
            public BaseClientResult<String> actUpdate(ArtActUpdateReq request) {
                return BaseClientResult.callbackError();
            }

            @Override
            public BaseClientResult<String> actDel(ArtActDelReq request) {
                return BaseClientResult.callbackError();
            }
        };
    }


}
